﻿using MQTTnet.Server;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SBlogCore.MqttService.Extenions
{
    public interface IMqttServerEvents
    {
        Task ClientSubscribedTopicAsync(ClientSubscribedTopicEventArgs arg);
        Task StoppedAsync(EventArgs arg);
        Task ValidatingConnectionAsync(ValidatingConnectionEventArgs arg);
        Task InterceptingPublishAsync(InterceptingPublishEventArgs arg);
        Task StartedAsync(EventArgs arg);
        Task ClientUnsubscribedTopicAsync(ClientUnsubscribedTopicEventArgs arg);
        Task ApplicationMessageNotConsumedAsync(ApplicationMessageNotConsumedEventArgs arg);
        Task ClientDisconnectedAsync(ClientDisconnectedEventArgs arg);
        Task ClientConnectedAsync(ClientConnectedEventArgs arg);
    }
}
